/**
 * Copyright (c) 2014-2015, Suredy technology Co., Ltd. All rights reserved.
 * @author ZhangMaoren 
 * @since 2015年11月27日
 * @version 0.1
 */
package com.suredy.app.detection.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.suredy.core.model.BaseFlowModel;


/**
 * @author ZhangMaoren
 *
 */
@MappedSuperclass
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler", "JavassistLazyInitializer"})
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public abstract class Detection extends BaseFlowModel{

	/**
	 * 
	 */
	private static final long serialVersionUID = 263659846773035542L;
	
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@Column(name = "sampleDate")
	protected Date sampleDate; //采样日期
	
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@Column(name = "DetectoinDate")
	protected Date detectionDate; //检测日期
	
	@Column(name = "Temperature")
	protected Double temerature; //温度
	
	@Column(name = "Humidity")
	protected Double humidity; //湿度
	
	@Column(name = "Detector")
	protected String detector; //检测人
	
	@Column(name = "DetectorName")
	protected String detectorName; //检测人姓名
	
	@Column(name = "Auditor")
	protected String auditor; //审核人
	
	@Column(name = "AuditorName")
	protected String auditorName; //审核人姓名

	@Column(name = "DetectionName")
	protected String detectionName; //检测项
	
	@Column(name = "Method")
	protected String method; //检测方法
	
	@Column(name = "Standards")
	protected String standards; //依据及标准
	
	@Column(name = "Comments")
	protected String comments; //备注
	
	
	@Column(name = "planId")
	protected String planId;
	
	@Column(name = "jobId")
	protected String jobId;
	/**
	 * @return the sampleDate
	 */
	public Date getSampleDate() {
		return sampleDate;
	}

	
	/**
	 * @param sampleDate the sampleDate to set
	 */
	public void setSampleDate(Date sampleDate) {
		this.sampleDate = sampleDate;
	}

	
	/**
	 * @return the detectionDate
	 */
	public Date getDetectionDate() {
		return detectionDate;
	}

	
	/**
	 * @param detectionDate the detectionDate to set
	 */
	public void setDetectionDate(Date detectionDate) {
		this.detectionDate = detectionDate;
	}

	
	/**
	 * @return the temerature
	 */
	public Double getTemerature() {
		return temerature;
	}

	
	/**
	 * @param temerature the temerature to set
	 */
	public void setTemerature(Double temerature) {
		this.temerature = temerature;
	}

	
	/**
	 * @return the humidity
	 */
	public Double getHumidity() {
		return humidity;
	}

	
	/**
	 * @param humidity the humidity to set
	 */
	public void setHumidity(Double humidity) {
		this.humidity = humidity;
	}

	
	/**
	 * @return the detectionName
	 */
	abstract public String getDetectionName();

	
	/**
	 * @param detectionName the detectionName to set
	 */
	abstract public void setDetectionName(String detectionName);

	
	/**
	 * @return the method
	 */
	abstract public String getMethod();

	
	/**
	 * @param method the method to set
	 */
	abstract public void setMethod(String method);

	
	/**
	 * @return the standard
	 */
	abstract public String getStandards();

	
	/**
	 * @param standard the standard to set
	 */
	abstract public void setStandards(String standards);



	/**
	 * @return the detector
	 */
	public String getDetector() {
		return detector;
	}

	
	/**
	 * @param detector the detector to set
	 */
	public void setDetector(String detector) {
		this.detector = detector;
	}

	
	/**
	 * @return the detectorName
	 */
	public String getDetectorName() {
		return detectorName;
	}

	
	/**
	 * @param detectorName the detectorName to set
	 */
	public void setDetectorName(String detectorName) {
		this.detectorName = detectorName;
	}

	
	/**
	 * @return the auditor
	 */
	public String getAuditor() {
		return auditor;
	}

	
	/**
	 * @param auditor the auditor to set
	 */
	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	
	/**
	 * @return the auditorName
	 */
	public String getAuditorName() {
		return auditorName;
	}

	
	/**
	 * @param auditorName the auditorName to set
	 */
	public void setAuditorName(String auditorName) {
		this.auditorName = auditorName;
	}

	
	/**
	 * @return the comments
	 */
	public String getComments() {
		return comments;
	}

	
	/**
	 * @param comments the comments to set
	 */
	public void setComments(String comments) {
		this.comments = comments;
	}
	
	public String getPlanId() {
		return planId;
	}


	
	public void setPlanId(String planId) {
		this.planId = planId;
	}


	
	public String getJobId() {
		return jobId;
	}


	
	public void setJobId(String jobId) {
		this.jobId = jobId;
	}
	
	

}
